﻿using Game.Common;
using Game.Command;
using Game.ExtensibleObjects;

namespace Game.Controller
{
    public class CommandQueueExtension : IRuntimeExtension
    {
        readonly ScheduledCommandQueue _CommandQueue = new ScheduledCommandQueue();

        public ScheduledCommandQueue ScheduledCommandQueue
        {
            get 
            {
                GameDebug.Assert(_CommandQueue != null);
                return _CommandQueue; 
            }
        }
    }

    public class CommandQueueExtensionFactory : IRuntimeExtensionFactory
    {
        public IRuntimeExtension CreateExtension(IRuntimeExtensibleObject source)
        {
            return new CommandQueueExtension();
        }
    }
}
